
//引入MySQL模块
const mysql = require('mysql')

//创建连接池
const pool = mysql.createPool({
    host:'localhost',
    user:'root',
    password:'843298',
    database:'demo',
    connectionLimit:10,
    timezone:'utc',//mysql默认的时区是utc，连接是本地时区，相差8哥小时，为了同步，设置连接按utc的方式取值
});

//导出操作数据库的标准方法
module.exports = function(sql,params){
    //返回promise对象
    return new Promise((resolve,reject) =>{
        //从连接池中取得一个连接
        pool.getConnection((err,PoolConnection) => {
            if(err){
                console.log(1,err);
                reject(err);
            }else{
                //没有错误 正常取得了连接
                //使用这个连接来操作数据库
                PoolConnection.query(sql,params,(err,result) =>{
                    //查询完成后优先释放连接到连接池
                    PoolConnection.release();
                    //判断是否出错
                    if(err){
                        console.log(2,err)
                        reject(err)
                    } else{
                        //无错 查询成功
                        resolve(result)
                    }
                })
            }
        })
    })
}
